home *** CD-ROM | disk | FTP | other *** search
/ NeXT Education Software Sampler 1992 Fall / NeXT Education Software Sampler 1992 Fall.iso / Programming / Source / winterp-1.13 / winterp.README < prev   
Encoding:
Text File  |  1992-08-19  |  15.3 KB  |  285 lines

  1. Here is an improved winterp.README file, explaining some of the
  2. warnings, and lsiting some of the diffs from the original distribution
  3. which can be found on export.lcs.mit.edu:
  4. -------------
  5.  
  6.  
  7. WINTERP: An object-oriented rapid prototyping, development and delivery
  8. environment for building user-customizable applications with the OSF/Motif
  9. UI Toolkit.
  10.  
  11. ------------------------------------------------------------------------------
  12.  
  13. The archive winterp-1.13.NeXT.tar.Z contains sources, examples, documentation,
  14. and contributed code for the WINTERP OSF/Motif _W_idget _INTERP_reter
  15. version 1.13 (MIT X11r5 contrib release).
  16.  
  17. to compile:
  18.  
  19. (0) Running WINTERP requires that you are running an X server (e.g.
  20. Pencom/CoXist); Compiling WINTERP requires the OSF/Motif libraries and
  21. headers, preferably version 1.1.3 (Motif 1.0 and earlier/later 1.1 work
  22. too).  It is assumed these are in the default locations /usr/include/Xm and
  23. /usr/lib/libXm.a as supplied in the CoXist product.
  24. (1) zcat winterp.NeXT.tar.Z | tar xvf -
  25. (1.5) rm -i winterp.NeXT.tar.Z
  26. (2) cd winterp-1.13
  27. (3) make -f Makefile.NeXT
  28. (4) ln -s `pwd`/src-server/winterp /usr/local/bin
  29. (5) ln -s `pwd`/src-client/wl /usr/local/bin
  30. (6) read doc/RUNNING doc/winterp.doc and examples/*.lsp for further details.
  31.  
  32. If you try to recompile it, you will get a series of warnings which are due
  33. to not being able to use -traditional flag (there seems to be a bug in the
  34. header files using the "untraditional" word 'constant' when compiling with
  35. "-bsd -traditional". If anyone with more NeXT experience produces a better
  36. Makefile.NeXT please mail mayer@hplabs.hp.com (Niels Mayer) and
  37. hardy@golem.ps.uci.edu (Hardy Mayer).
  38.  
  39. The following compile warnings are produced (most warnings fixed by
  40. upcoming version 1.14:
  41. | wl.c:115: warning: argument passing between incompatible pointer types
  42. | winterp.c:879: warning: argument passing between incompatible pointer types
  43. | winterp.c:976: warning: argument passing between incompatible pointer types
  44. | xlcont.c:353: warning: `setffunction' was declared implicitly `extern' and later `static'
  45. | xlcont.c:516: warning: `keypresent' was declared implicitly `extern' and later `static'
  46. | xlcont.c:1242: warning: `dobindings' was declared implicitly `extern' and later `static'
  47. | xlcont.c:1279: warning: `doupdates' was declared implicitly `extern' and later `static'
  48. | xlcont.c:1318: warning: `tagbody' was declared implicitly `extern' and later `static'
  49. | xlcont.c:1443: warning: `toofew' was declared implicitly `extern' and later `static'
  50. | xlcont.c:1450: warning: `toomany' was declared implicitly `extern' and later `static'
  51. | xldbug.c:144: warning: `breakloop' was declared implicitly `extern' and later `static'
  52. | xldmem.c:475: warning: `findmem' was declared implicitly `extern' and later `static'
  53. | xldmem.c:548: warning: `mark' was declared implicitly `extern' and later `static'
  54. | xldmem.c:652: warning: `sweep' was declared implicitly `extern' and later `static'
  55. | xldmem.c:730: warning: `addseg' was declared implicitly `extern' and later `static'
  56. | xleval.c:385: warning: `evpushargs' was declared implicitly `extern' and later `static'
  57. | xleval.c:831: warning: `doenter' was declared implicitly `extern' and later `static'
  58. | xleval.c:853: warning: `doexit' was declared implicitly `extern' and later `static'
  59. | xleval.c:872: warning: `member' was declared implicitly `extern' and later `static'
  60. | xleval.c:908: warning: `badarglist' was declared implicitly `extern' and later `static'
  61. | xlinit.c:97: warning: `initwks' was declared implicitly `extern' and later `static'
  62. | xljump.c:198: warning: `findandjump' was declared implicitly `extern' and later `static'
  63. | xllist.c:448: warning: `remif' was declared `extern' and later `static'
  64. | xllist.c:809: warning: `delif' was declared `extern' and later `static'
  65. | xllist.c:888: warning: `sortlist' was declared `extern' and later `static'
  66. | xllist.c:915: warning: `splitlist' was declared implicitly `extern' and later `static'
  67. | xllist.c:938: warning: `gluelists' was declared `extern' and later `static'
  68. | xlmath.c:220: warning: `checkizero' was declared implicitly `extern' and later `static'
  69. | xlmath.c:228: warning: `checkfzero' was declared implicitly `extern' and later `static'
  70. | xlmath.c:454: warning: `badiop' was declared implicitly `extern' and later `static'
  71. | xlmath.c:460: warning: `badfop' was declared implicitly `extern' and later `static'
  72. | xlobj.c:465: warning: `getivcnt' was declared implicitly `extern' and later `static'
  73. | xlobj.c:475: warning: `listlength' was declared implicitly `extern' and later `static'
  74. | xlpp.c:75: warning: `pp' was declared implicitly `extern' and later `static'
  75. | xlpp.c:85: warning: `pplist' was declared implicitly `extern' and later `static'
  76. | xlpp.c:123: warning: `ppexpr' was declared implicitly `extern' and later `static'
  77. | xlpp.c:131: warning: `ppputc' was declared implicitly `extern' and later `static'
  78. | xlpp.c:139: warning: `ppterpri' was declared implicitly `extern' and later `static'
  79. | xlpp.c:147: warning: `flatsize' was declared implicitly `extern' and later `static'
  80. | xlprin.c:215: warning: `putsymbol' was declared implicitly `extern' and later `static'
  81. | xlprin.c:262: warning: `putstring' was declared implicitly `extern' and later `static'
  82. | xlprin.c:274: warning: `putqstring' was declared implicitly `extern' and later `static'
  83. | xlprin.c:323: warning: `putatm' was declared implicitly `extern' and later `static'
  84. | xlprin.c:332: warning: `putsubr' was declared implicitly `extern' and later `static'
  85. | xlprin.c:342: warning: `putclosure' was declared implicitly `extern' and later `static'
  86. | xlprin.c:369: warning: `putfixnum' was declared implicitly `extern' and later `static'
  87. | xlprin.c:381: warning: `putflonum' was declared implicitly `extern' and later `static'
  88. | xlprin.c:393: warning: `putchcode' was declared implicitly `extern' and later `static'
  89. | xlprin.c:415: warning: `putoct' was declared implicitly `extern' and later `static'
  90. | xlread.c:441: warning: `pcomment' was declared implicitly `extern' and later `static'
  91. | xlread.c:630: warning: `pname' was declared implicitly `extern' and later `static'
  92. | xlread.c:735: warning: `storech' was declared implicitly `extern' and later `static'
  93. | xlread.c:755: warning: `nextch' was declared implicitly `extern' and later `static'
  94. | xlread.c:768: warning: `checkeof' was declared implicitly `extern' and later `static'
  95. | xlread.c:779: warning: `badeof' was declared implicitly `extern' and later `static'
  96. | xlread.c:865: warning: `upcase' was declared implicitly `extern' and later `static'
  97. | xlstr.c:225: warning: `getbounds' was declared implicitly `extern' and later `static'
  98. | xlstr.c:258: warning: `inbag' was declared implicitly `extern' and later `static'
  99. | xlstruct.c:391: warning: `addslot' was declared implicitly `extern' and later `static'
  100. | xlstruct.c:455: warning: `updateslot' was declared implicitly `extern' and later `static'
  101.  
  102. ------------------------------------------------------------------------------
  103.  
  104. WINTERP is a Widget INTERPreter, an application development environment
  105. enabling rapid prototyping of graphical user-interfaces (GUI) through the
  106. interactive programmatic manipulation of user interface objects and their
  107. attached actions. The interpreter, based on David Betz's XLISP, provides an
  108. interface to the X11 toolkit Intrinsics (Xtk), the OSF/Motif widget set,
  109. primitives for collecting data from UN*X processes, and facilities for
  110. interacting with other UN*X processes. WINTERP thus supports rapid
  111. prototyping of GUI-based applications by allowing the user to interactively
  112. change both the UI appearance and application functionality. These features
  113. make WINTERP a good tool for learning and experimenting with the
  114. capabilities of the OSF/Motif UI toolkit, allowing UI designers to more
  115. easily play "what if" games with different interface styles.
  116.  
  117. WINTERP is also an excellent platform for delivering extensible or
  118. customizable applications. By embedding a small, efficient language
  119. interpreter with UI primitives within the delivered application, users and
  120. system integrators can tailor the static and dynamic layout of the UI,
  121. UI-to-application dialogue, and application functionality. WINTERP's use of
  122. a real programming language for customization allows WINTERP-based
  123. applications to be much more flexible than applications using customization
  124. schemes provided by the X resource database or OSF/Motif's UIL (user
  125. interface language).
  126.  
  127. An environment similar to WINTERP's already exists in the Gnu-Emacs text
  128. editor -- WINTERP was strongly influenced by Gnu-Emacs' successful design.
  129. In Gnu-Emacs, a mini-Lisp interpreter is used to extend the editor to
  130. provide text-browser style interfaces to a number of UN*X applications
  131. (e.g. e-mail user agents, directory browsers, debuggers, etc). Whereas
  132. Emacs-Lisp enables the creation of new applications by tying together
  133. C-implemented primitives operating on text-buffer UI objects, WINTERP-Lisp
  134. ties together operations on graphical UI objects implemented by the Motif
  135. widgets. Both achieve a high degree of customizability that is common for
  136. systems implemented in Lisp, while still attaining the speed of execution
  137. and (relatively) small size associated with C-implemented applications.
  138.  
  139. Other features:
  140.     * WINTERP is free software -- available via anonymous ftp from
  141.       export.lcs.mit.edu.
  142.     * Portable -- runs without porting on many Unix systems.    
  143.     * Interface to gnuemacs' lisp-mode allows code to be developed
  144.       and tested without leaving the editor;
  145.     * Built-in RPC mechanism for inter-application communications;
  146.     * XLISP provides a simple Smalltalk-like object system.
  147.     * OSF/Motif widgets are real XLISP objects -- widgets can be
  148.       specialized via subclassing, methods added or altered, etc.
  149.     * Automatic storage management of Motif/Xt/X data.
  150.     * Contains facilities for "direct manipulation" of UI components;
  151.  
  152. You may obtain the latest released version of the WINTERP source,
  153. documentation, and examples via anonymous ftp from internet host
  154. export.lcs.mit.edu (18.30.0.238): in directory contrib/winterp you will
  155. find the compress(1)'d tar(1) file winterp-???.tar.Z. (??? represents the
  156. version number). Slides, papers and further documentation can be found in
  157. directory contrib/winterp/papers.
  158.  
  159. If you do not have Internet access you may request the source code to be
  160. mailed to you by sending a message to winterp-source%hplnpm@hplabs.hp.com
  161. or hplabs!hplnpm!winterp-source.
  162.  
  163. There is also a mailing list for WINTERP-related announcements and
  164. discussions. To get added to the list, send mail to
  165. winterp-request%hplnpm@hplabs.hp.com or hplabs!hplnpm!winterp-request.
  166.  
  167. For discussions about XLISP, see the USENET newsgroup comp.lang.lisp.x.
  168.  
  169. -------------------------------------------------------------------------------
  170.         Niels Mayer -- hplabs!mayer -- mayer@hplabs.hp.com
  171.           Human-Computer Interaction Department
  172.                Hewlett-Packard Laboratories
  173.                   Palo Alto, CA.
  174.                    *
  175. -=-=-=-=-=
  176. --------------------
  177.  
  178. (2) Also note the following files that were changed -- the new Text.lsp
  179. dialogshel.lsp hostlookup.lsp, to replace some hp-specific fonts with
  180. generally available ones (the backup files were given the extension hp
  181. before archiving)
  182.  
  183. | hplstl-20-~> find winterp-1.13-NeXT/ -name '*~*'
  184. | winterp-1.13-NeXT/examples/Text.lsp.~1~
  185. | winterp-1.13-NeXT/examples/Text.lsp.~2~
  186. | winterp-1.13-NeXT/examples/dialogshel.lsp.~1~
  187. | winterp-1.13-NeXT/examples/hostlookup.lsp.~1~
  188. | winterp-1.13-NeXT/src-server/winterp.c.~1~
  189. | hplstl-21-~> diff winterp-1.13-NeXT/examples/Text.lsp.~1~ winterp-1.13-NeXT/examples/Text.lsp
  190. | 9c9
  191. | < ; Modified:     Sat Oct  5 04:49:31 1991 (Niels Mayer) mayer@hplnpm
  192. | ---
  193. | > ; Modified:     Thu Nov 21 20:00:36 1991
  194. | 40c40
  195. | <           :xmn_font_list "hp8.10x20b"
  196. | ---
  197. | > ;;;          :XMN_FONT_LIST "hp8.10x20b"
  198. | hplstl-22-~> diff winterp-1.13-NeXT/examples/dialogshel.lsp.~1~ winterp-1.13-NeXT/examples/dialogshel.lsp
  199. | 9c9
  200. | < ; Modified:     Sat Oct  5 15:23:42 1991 (Niels Mayer) mayer@hplnpm
  201. | ---
  202. | > ; Modified:     Thu Nov 21 20:05:38 1991
  203. | 122,141c122,141
  204. | < (let ()
  205. | < (send (car (send fsb_w :get_values :XMN_DEFAULT_BUTTON nil))
  206. | <       :set_values :XMN_FONT_LIST "micro")
  207. | < ;;(send (car (send form_w :get_values :XMN_DEFAULT_BUTTON nil))
  208. | < ;;      :set_values :XMN_FONT_LIST "micro")
  209. | < (send (car (send mbox_w :get_values :XMN_DEFAULT_BUTTON nil))
  210. | <       :set_values :XMN_FONT_LIST "micro")
  211. | < (send (car (send md_w :get_values :XMN_DEFAULT_BUTTON nil))
  212. | <       :set_values :XMN_FONT_LIST "micro")
  213. | < (send (car (send ed_w :get_values :XMN_DEFAULT_BUTTON nil))
  214. | <       :set_values :XMN_FONT_LIST "micro")
  215. | < (send (car (send id_w :get_values :XMN_DEFAULT_BUTTON nil))
  216. | <       :set_values :XMN_FONT_LIST "micro")
  217. | < (send (car (send qd_w :get_values :XMN_DEFAULT_BUTTON nil))
  218. | <       :set_values :XMN_FONT_LIST "micro")
  219. | < (send (car (send wrnd_w :get_values :XMN_DEFAULT_BUTTON nil))
  220. | <       :set_values :XMN_FONT_LIST "micro")
  221. | < (send (car (send wrkd_w :get_values :XMN_DEFAULT_BUTTON nil))
  222. | <       :set_values :XMN_FONT_LIST "micro")
  223. | < )
  224. | ---
  225. | > ;; (let ()
  226. | > ;; (send (car (send fsb_w :get_values :XMN_DEFAULT_BUTTON nil))
  227. | > ;;       :set_values :XMN_FONT_LIST "micro")
  228. | > ;; ;;(send (car (send form_w :get_values :XMN_DEFAULT_BUTTON nil))
  229. | > ;; ;;      :set_values :XMN_FONT_LIST "micro")
  230. | > ;; (send (car (send mbox_w :get_values :XMN_DEFAULT_BUTTON nil))
  231. | > ;;       :set_values :XMN_FONT_LIST "micro")
  232. | > ;; (send (car (send md_w :get_values :XMN_DEFAULT_BUTTON nil))
  233. | > ;;       :set_values :XMN_FONT_LIST "micro")
  234. | > ;; (send (car (send ed_w :get_values :XMN_DEFAULT_BUTTON nil))
  235. | > ;;       :set_values :XMN_FONT_LIST "micro")
  236. | > ;; (send (car (send id_w :get_values :XMN_DEFAULT_BUTTON nil))
  237. | > ;;       :set_values :XMN_FONT_LIST "micro")
  238. | > ;; (send (car (send qd_w :get_values :XMN_DEFAULT_BUTTON nil))
  239. | > ;;       :set_values :XMN_FONT_LIST "micro")
  240. | > ;; (send (car (send wrnd_w :get_values :XMN_DEFAULT_BUTTON nil))
  241. | > ;;       :set_values :XMN_FONT_LIST "micro")
  242. | > ;; (send (car (send wrkd_w :get_values :XMN_DEFAULT_BUTTON nil))
  243. | > ;;       :set_values :XMN_FONT_LIST "micro")
  244. | > ;; )
  245. | hplstl-23-~> diff winterp-1.13-NeXT/examples/hostlookup.lsp.~1~ winterp-1.13-NeXT/examples/hostlookup.lsp
  246. | hplstl-24-~> diff winterp-1.13-NeXT/examples/hostlookup.lsp.~1~ winterp-1.13-NeXT/examples/hostlookup.lsp
  247. | 16c16
  248. | < ; Modified:     Sat Oct  5 17:33:50 1991 (Niels Mayer) mayer@hplnpm
  249. | ---
  250. | > ; Modified:     Thu Nov 21 20:57:15 1991
  251. | 58c58
  252. | <         (x_refresh_display 300)
  253. | ---
  254. | > ;;        (x_refresh_display 300)
  255. | 61,63c61,63
  256. | <         ;; (send dialog-w :update_display)
  257. | <         ;; (system "sleep 1")
  258. | <         ;; (send dialog-w :update_display)
  259. | ---
  260. | >         (send dialog-w :update_display)
  261. | >         (system "sleep 0")
  262. | >         (send dialog-w :update_display)
  263. | hplstl-27-~> ls -lt winterp-1.13-NeXT/src-server/winterp.c.~1~
  264. | -rw-r--r--   1 mayer    users      54558 Oct  4 20:21 winterp-1.13-NeXT/src-server/winterp.c.~1~
  265. | hplstl-29-~> ll winterp-1.13-NeXT/src-server/*.orig
  266. | -rw-r--r--   1 mayer    users      54630 Nov 21 22:20 winterp-1.13-NeXT/src-server/winterp.c.orig
  267. | hplstl-30-~> 
  268.  
  269. -----------------------------
  270. (3) Here are the diffs of winterp.c for the NeXT and winterp.c.orig.
  271. ------------------------
  272.  
  273. hardy{winterp-1.13/src-server}[126> diff winterp.c winterp.c.orig
  274. 9c9
  275. < * Modified:     Thu Nov 21 22:20:26 1991
  276. ---
  277. > * Modified:     Fri Oct  4 20:21:05 1991 (Niels Mayer) mayer@hplnpm
  278. 45,47d44
  279. < #ifdef __STRICT_BSD__         /* for NeXT... */
  280. < extern char *getenv();
  281. < #else
  282. 49,50d45
  283. < #endif /* __STRICT_BSD__ */
  284.